Tables of tackle values

Real tackle frame (Def 1-10)

Hypothetical tackle frame (Def 2-11)

Tackle gains

Possible issues

Gain analyses

gain and gain2 significantly positive (intuitively this should be the case)

t.test(tackle_vals$`ep_tackle_def2-11`,tackle_vals$`ep_tackle_def1-10`,paired = TRUE)
## 
##  Paired t-test
## 
## data:  tackle_vals$`ep_tackle_def2-11` and tackle_vals$`ep_tackle_def1-10`
## t = 68.815, df = 11899, p-value < 2.2e-16
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  0.1753847 0.1856692
## sample estimates:
## mean difference 
##       0.1805269
t.test(tackle_vals$`ep_tackle_def2-11`,tackle_vals$ep_tackle_real_eop,paired = TRUE)
## 
##  Paired t-test
## 
## data:  tackle_vals$`ep_tackle_def2-11` and tackle_vals$ep_tackle_real_eop
## t = 48.535, df = 11899, p-value < 2.2e-16
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  0.2582366 0.2799730
## sample estimates:
## mean difference 
##       0.2691048

Yardlines analyses

Tackle yardlines vs true EOP yardlines (from pbp data).

I thought they should be quite similar…

yardline_diff <- tackle_info_real2$tackle_yardline-tackle_info_real2$true_yardline

summary(yardline_diff)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -65.7300   0.1700   0.8900   0.7667   1.8400  22.2800

Examples of what may happen:

  • gameplayId = 2022092500586: here apparently tackle led to fumble which was recovered for a TD from the defense (i.e. in this case tackle was very good)
##                                                                                                                                                                                                                playDescription
## 1 (5:44) A.Kamara right tackle to NO 43 for -2 yards (F.Luvu). FUMBLES (F.Luvu), touched at NO 42, RECOVERED by CAR-M.Haynes at NO 44. M.Haynes for 44 yards, TOUCHDOWN. Penalty on NO-N.Vannett, Offensive Holding, declined.
##   playResult
## 1        -45
##     gameplayId     gameId playId ep_tackle_def2-11 ep_tackle_def1-10 info
## 1 2.022093e+12 2022092500    586          1.209399          1.146985    1
##         gain ep_tackle_real_eop info2   gain2 tackler_id
## 1 0.06241438           -3.02037     1 4.22977      46527
  • gameplayId = 2022091101382: here penalty on the play (offensive holding -> -10 yards; i.e. tackle was not really necessary)
##                                                                                                                                                                                          playDescription
## 1 (8:46) (No Huddle) B.Mayfield pass short right to C.McCaffrey to CLV 44 for 16 yards (J.Owusu-Koramoah; A.Walker). PENALTY on CAR-I.Thomas, Offensive Holding, 10 yards, enforced at CAR 40 - No Play.
##   playResult
## 1        -10
##     gameplayId     gameId playId ep_tackle_def2-11 ep_tackle_def1-10 info
## 1 2.022091e+12 2022091101    382          3.790748          3.656282    1
##        gain ep_tackle_real_eop info2    gain2 tackler_id
## 1 0.1344667         0.01406716     1 3.776681      53481
  • gameplayId = 20220925061332: here again penalty on the play (defensive unnecessary roughness -> -15 yards; i.e. tackle was still necessary, but gain2 is just wrong)
##                                                                                                                                                                                                         playDescription
## 1 (10:13) J.Burrow pass deep right to T.Higgins to NYJ 30 for 45 yards (A.Gardner; L.Joyner). CIN-T.Higgins was injured during the play.  PENALTY on NYJ-L.Joyner, Unnecessary Roughness, 15 yards, enforced at NYJ 30.
##   prePenaltyPlayResult playResult
## 1                   45         60
##     gameplayId     gameId playId ep_tackle_def2-11 ep_tackle_def1-10 info
## 1 2.022093e+13 2022092506   1332          4.585782          3.467349    1
##       gain ep_tackle_real_eop info2      gain2 tackler_id
## 1 1.118433            4.71303     0 -0.1272486      54469

Eliminate penalty play

This may help

Still a lot of negative yardline differences: First inspections show that most of them are due to fumbles with recoveries of the defense (here EP model is wrong and thus gain 2 not accurate)

More problematic: positive yardline difference! Not yet sure what happens here (example play: uId == “2022091809_369”, see also weird looking play2 below)

Issues with some plays

##     gameplayId     gameId playId ep_tackle_def2-11 ep_tackle_def1-10 info
## 1 2.022092e+12 2022091807    191        2.38869827          3.501782    0
## 2 2.022092e+12 2022091900    256        5.01469894          6.304934    0
## 3 2.022092e+13 2022091804   2905       -0.07842941          6.092776    0
## 4 2.022101e+13 2022100901   3263        2.74110338          6.135961    0
##        gain ep_tackle_real_eop info2       gain2 tackler_id
## 1 -1.113084          3.8399481     0 -1.45124985      43298
## 2 -1.290235          4.8127037     1  0.20199529      54500
## 3 -6.171206         -0.1182011     1  0.03977168      41257
## 4 -3.394858          2.6689868     1  0.07211654      52647

Something goes wrong when predicting “real” tackle frame?

##     gameplayId     gameId playId ep_tackle_def1-10   avg_yg             uId
## 1 2.022092e+12 2022091807    191          3.501782 6.951991  2022091807_191
## 2 2.022092e+12 2022091900    256          6.304934      NaN  2022091900_256
## 3 2.022092e+13 2022091804   2905          6.092776      NaN 2022091804_2905
## 4 2.022101e+13 2022100901   3263          6.135961      NaN 2022100901_3263
##   tackle_yardline yardline_pred yardline_100 playResult absoluteYardlineNumber
## 1           38.43      31.47801           41         10                     51
## 2           22.33           NaN           31          8                     41
## 3           85.51           NaN           90          5                     20
## 4           41.99           NaN           54         12                     64
##   true_yardline
## 1            31
## 2            23
## 3            85
## 4            42

No Problem when predicting hypothetical tackle frame:

##     gameplayId     gameId playId ep_tackle_def2-11    avg_yg             uId
## 1 2.022092e+12 2022091807    191        2.38869827 6.0626123  2022091807_191
## 2 2.022092e+12 2022091900    256        5.01469894 2.7127785  2022091900_256
## 3 2.022092e+13 2022091804   2905       -0.07842941 0.8169310 2022091804_2905
## 4 2.022101e+13 2022100901   3263        2.74110338 0.8312422 2022100901_3263
##   tackle_yardline yardline_pred yardline_100 playResult true_yardline
## 1           38.43      32.36739           41         10            31
## 2           22.33      19.61722           31          8            23
## 3           85.51      84.69307           90          5            85
## 4           41.99      41.15876           54         12            42

Example plays

Plot description:

Good looking play

Weird looking play

Tackle at yardline around 38 but EOP yardline and (avg) predicted EOP at around 31?

Weird looking play2

What is happening here? Tackle at yardline 80, EOP yardline at 64, prediction with real frame 63.89, prediction with hypothetical frame 70.89???

Play from above with high (positive) yardline difference

Use case: analyse players

Top tackles by players

Gains per position